El comportamiento de estas funciones está afectado por los valores definidos en php.ini.
| Nombre | Predeterminado | Modificable | Cambios |
|---|---|---|---|
| session.save_path | "/" | PHP_INI_ALL | |
| session.name | "PHPSESSID" | PHP_INI_ALL | |
| session.save_handler | "files" | PHP_INI_ALL | |
| session.auto_start | "0" | PHP_INI_ALL | |
| session.gc_probability | "1" | PHP_INI_ALL | |
| session.gc_divisor | "100" | PHP_INI_ALL | Disponible desde PHP 4.3.2. |
| session.gc_maxlifetime | "1440" | PHP_INI_ALL | |
| session.serialize_handler | "php" | PHP_INI_ALL | |
| session.cookie_lifetime | "0" | PHP_INI_ALL | |
| session.cookie_path | "/" | PHP_INI_ALL | |
| session.cookie_domain | "" | PHP_INI_ALL | |
| session.cookie_secure | "" | PHP_INI_ALL | Disponible desde PHP 4.0.4. |
| session.cookie_httponly | "" | PHP_INI_ALL | Disponible desde PHP 5.2.0. |
| session.use_cookies | "1" | PHP_INI_ALL | |
| session.use_only_cookies | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0. |
| session.referer_check | "" | PHP_INI_ALL | |
| session.entropy_file | "" | PHP_INI_ALL | |
| session.entropy_length | "0" | PHP_INI_ALL | |
| session.cache_limiter | "nocache" | PHP_INI_ALL | |
| session.cache_expire | "180" | PHP_INI_ALL | |
| session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL en PHP <= 4.2.3. PHP_INI_PERDIR en PHP < 5. Disponible desde PHP 4.0.3. |
| session.bug_compat_42 | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminada en PHP 6.0.0. |
| session.bug_compat_warn | "1" | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminada en PHP 6.0.0. |
| session.hash_function | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0. |
| session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponible desde PHP 5.0.0. |
| url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponible desde PHP 4.0.4. |
For further details and definitions of the PHP_INI_* modes, see the En dónde puede definirse un valor de configuración.
El sistema de gestión de sesiones soporta un número de opciones de configuración que puede ubicar en su archivo php.ini. Le daremos una breve introducción.
Existe un argumento opcional N a esta directiva que determina el número de niveles de directorio en los que serán repartidos sus archivos de sesión. Por ejemplo, al definir este valor como '5;/tmp' puede terminar creando un archivo de sesión y una ubicación como /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If. Para poder usar N, debe crear todos estos directorios antes de su uso. Un pequeño script de intérprete de comandos existe en ext/session para este efecto, se llama mod_files.sh. También note que si N es usado y es mayor que 0, entonces la recolección de basura automática no será implementada, vea una copia de php.ini para más información. Asimismo, si usa N, asegúrese de rodear session.save_path de "comillas", ya que el separador (;) es usado también para denotar comentarios en php.ini.
Si deja este valor asignado a un directorio con permisos globales de lectura, como /tmp (el valor predeterminado), puede que otros usuarios en el servidor puedan abusar de la información de las sesiones, obteniendo la lista de archivos en tal directorio.
Note: Antes de PHP 4.3.6, los usuarios de Windows debían modificar esta variable para poder usar las funciones de sesiones de PHP. Debe especificarse una ruta válida, p.ej.: c:/temp.
Note: Si diferentes scripts tienen diferentes valores de session.gc_maxlifetime pero comparten el mismo sitio de almacenamiente de datos de sesión, entonces el script con el valor mínimo estará limpiando los datos. En este caso, use esta directiva junto con session.save_path.
Note: Si se encuentra usando el gestor de sesiones basado en archivos predeterminado, su sistema de archivos debe llevar cuenta de los tiempos de acceso (atime). El sistema FAT de windows no lo hace, así que tendrá que implementar otra manera de gestionar la recolección de basura en sus sesiones si está atascado con un sistema de archivos FAT, o cualquier otro sistema de archivos en donde no se encuentre disponible el manejo de valores atime. A partir de PHP 4.2.3, se ha usado mtime (fecha de modificación) en lugar de atime. De este modo, usted no tendrá problemas con sistemas de archivos en donde el rastreo de atime no se encuentra disponible.
Note: La marca de tiempo de expiración es definida relativa a la hora del servidor, la cual no es necesariamente la misma que la hora en el navegador del cliente.
Note: Para PHP 4.1.2 o versiones anteriores, este valor es habilitado al compilar con --enable-trans-sid. A partir de PHP 4.2.0, la característica trans-sid es compilada siempre. El manejo de sesiones basadas en URL tiene riesgos de seguridad adicionales comparado con el manejo de sesiones basadas en cookies. Los usuarios pueden enviar una URL que contenga una ID de sesión activa a sus amigos por correo electrónico, o los usuarios pueden guardar una URL que contiene una ID de sesión en sus marcadores, y acceder a su sitio siempre con el mismo ID de sesión, por ejemplo.
A partir de PHP 6.0.0 es posible también especificar cualquiera de los algoritmos ofrecidos por la extensión hash (si está disponible), como sha512 o whirlpool. Una lista completa de los algoritmos soportados puede consultarse con la función hash_algos().
Note: Este valor fue introducido en PHP 5.
Note: Este valor fue introducido en PHP 5.
Note: Si desea conservar conformidad con el estándar HTML/XHTML estricto, retire la entrada form y use las etiquetas <fieldset> alrededor de sus campos de formulario.
Los parámetros de configuración track_vars y register_globals afectan el modo en que las variables de sesión son almacenadas y recuperadas.
Note: A partir de PHP 4.0.3, track_vars se encuentra habilitado siempre.